/*
 * Inode.h
 *
 *  Created on: Apr 16, 2012
 *      Author: jaap
 */

#ifndef INODE_H_
#define INODE_H_

#include <cassert>
#include "types.h"
#include "e7convert.h"

/**
 * Een Inode object representeert een actieve inode.
 * [Denk aan de AIT].
 */
class Inode {
	int number; // het inode nummer
	int mode;
	int usecount; // hoe veel referenties zijn er
	long filesize; // grootte in bytes
	int linkcount; // aantal verwijzingen naar het bestand
public:
	Inode(int number, byte *data);
	int getNumber();
	int getMode();
	int getUsecount();
	long getFilesize();
	int getLinkcount();
	void increaseUsecount();
	void decreaseUsecount();
	void increaseLinkcount();
	void decreaseLinkcount();
};

#endif /* INODE_H_ */
